/**********************************************************************************
**
** Copyright (C) 2009 Jostein Bratlie
** Contact: jostein.bratlie@gmail.com | http://bratlie.info | http://episteme.hin.no
**
** This file is part of GMQtExt, a GMlib and Qt extension library
**
** GMQtExt is free software: you can redistribute it and/or modify
** it under the terms of the GNU Lesser General Public License as published by
** the Free Software Foundation, either version 3 of the License, or
** (at your option) any later version.
**
** GMQtExt is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
** GNU Lesser General Public License for more details.
**
** You should have received a copy of the GNU Lesser General Public License
** along with GMQtExt.  If not, see <http://www.gnu.org/licenses/>.
**
**********************************************************************************/

#ifndef SCENEBROWSER_H
#define SCENEBROWSER_H

// Qt
#include <QWidget>
#include <QModelIndex>

class QTreeView;


// GMlib
namespace GMlib {

  class Scene;
}


namespace GMQtExt {

  class SceneModel;

  class SceneBrowser : public QWidget {
    Q_OBJECT
  public:
    SceneBrowser( QWidget* parent = 0x0 );

    unsigned int  getCurrentItemName() const;

  public slots:
    void          set( GMlib::Scene* scene );

  private:
    SceneModel    *_model;
    QTreeView     *_view;

  private slots:
    void          _slotItemClicked( QModelIndex );

  signals:
    void          signItemClicked( unsigned int );

  }; // END class SceneBrowser

} // END namespace GMQtExt


#endif // SCENEBROWSER_H
